Platform Explorer / Nuxeo Platform 2023.8

Extension point event

Documentation

This service registers auditable events.

Registered events are dummy strings for now.

This service is used to filter auditable events from the JMS topic based on their names. The following XML snipset give figures out how the default event types are selected for auditing.

Contribution Descriptors

  • Class: org.nuxeo.ecm.platform.audit.service.extension.EventDescriptor

Existing Contributions

Contributions are presented in the same order as the registration order on this extension point. This order is displayed before the contribution name, in brackets.

  • nuxeo-platform-audit-core-2023.8.13.jar /OSGI-INF/nxaudit-service.xml
    <extension point="event" target="org.nuxeo.ecm.platform.audit.service.NXAuditEventsService">
        <documentation>
          Those default auditable events match Nuxeo core base events.
          <p/>
          If you are sending new Nuxeo core events and want them audited, this is
          the place to declare them NXAudit side.
        </documentation>
    
        <event name="documentCreated"/>
        <event name="documentCreatedByCopy"/>
        <event name="documentDuplicated"/>
        <event name="documentMoved"/>
        <event name="documentRemoved"/>
        <event name="documentModified"/>
        <event name="documentLocked"/>
        <event name="documentUnlocked"/>
        <event name="documentSecurityUpdated"/>
        <event name="retentionActiveChanged"/>
        <event name="lifecycle_transition_event"/>
        <event name="loginSuccess"/>
        <event name="loginFailed"/>
        <event name="logout"/>
        <event name="documentCheckedIn"/>
        <event name="proxyRemoved"/>
        <event name="versionRemoved"/>
        <event name="documentProxyPublished"/>
        <event name="sectionContentPublished"/>
        <event name="documentRestored"/>
        <event name="download"/>
        <event name="documentTrashed"/>
        <event name="documentUntrashed"/>
        <event name="addedToCollection"/>
        <event name="removedFromCollection"/>
        <event name="afterMakeRecord"/>
        <event name="afterSetRetention"/>
        <event name="afterExtendRetention"/>
        <event name="retentionExpired"/>
        <event name="afterSetLegalHold"/>
        <event name="afterRemoveLegalHold"/>
        <event name="blobDigestUpdated"/>
      </extension>
  • nuxeo-coldstorage-2023.2.3.jar /OSGI-INF/coldstorage-audit.xml
    <extension point="event" target="org.nuxeo.ecm.platform.audit.service.NXAuditEventsService">
        <event name="coldStorageContentMoved"/>
        <event name="coldStorageContentToRetrieve"/>
        <event name="coldStorageContentAvailable"/>
        <event name="coldStorageContentToRestore"/>
        <event name="coldStorageContentRestored"/>
        <event name="coldStorageDownload"/>
      </extension>
  • nuxeo-drive-core-2023.8.13.jar /OSGI-INF/nuxeodrive-listeners.xml
    <extension point="event" target="org.nuxeo.ecm.platform.audit.service.NXAuditEventsService">
        <event name="rootRegistered"/>
        <event name="rootUnregistered"/>
      </extension>
  • nuxeo-elasticsearch-audit-2023.8.13.jar /OSGI-INF/es-audit-search-contrib.xml
    <extension point="event" target="org.nuxeo.ecm.platform.audit.service.NXAuditEventsService">
    		<event name="search">
    			<extendedInfos>
    				<extendedInfo expression="${message.properties.searchDocumentModelAsJson}" key="searchDocumentModel"/>
    				<extendedInfo expression="${message.properties.aggregates}" key="aggregates"/>
    				<extendedInfo expression="${message.properties.aggregatesMatches}" key="aggregatesMatches"/>
    				<extendedInfo expression="${message.properties.effectiveQuery}" key="effectiveQuery"/>
    				<extendedInfo expression="${message.properties.pageIndex}" key="pageIndex"/>
    				<extendedInfo expression="${message.properties.resultsCountInPage}" key="resultsCountInPage"/>
    				<extendedInfo expression="${message.properties.resultsCount}" key="resultsCount"/>
    				<extendedInfo expression="${message.properties.pageProviderName}" key="pageProviderName"/>
    				<extendedInfo expression="${message.properties.queryParams}" key="queryParams"/>
    				<extendedInfo expression="${message.properties.params}" key="params"/>
    				<extendedInfo expression="${message.properties.executionTimeMs}" key="executionTimeMs"/>
    				<extendedInfo expression="${message.properties.searchFields}" key="searchFields"/>
    			</extendedInfos>
    		</event>
    	</extension>
  • nuxeo-invite-2023.8.13.jar /OSGI-INF/user-registration-contrib.xml
    <extension point="event" target="org.nuxeo.ecm.platform.audit.service.NXAuditEventsService">
        <event name="registrationSubmitted"/>
        <event name="registrationAccepted"/>
        <event name="registrationValidated"/>
      </extension>
  • nuxeo-arender-core-2023.1.3.jar /OSGI-INF/nuxeo-arender-content-redaction-contrib.xml
    <extension point="event" target="org.nuxeo.ecm.platform.audit.service.NXAuditEventsService">
        <event name="redactionAdded"/>
        <event name="redactionRemoved"/>
      </extension>
  • nuxeo-platform-audit-core-2023.8.13.jar /OSGI-INF/user-audit-contrib.xml
    <extension point="event" target="org.nuxeo.ecm.platform.audit.service.NXAuditEventsService">
        <event name="user_created">
          <extendedInfos>
            <extendedInfo expression="${message.properties.id}" key="id"/>
          </extendedInfos>
        </event>
        <event name="user_deleted">
          <extendedInfos>
            <extendedInfo expression="${message.properties.id}" key="id"/>
          </extendedInfos>
        </event>
        <event name="user_modified">
          <extendedInfos>
            <extendedInfo expression="${message.properties.id}" key="id"/>
          </extendedInfos>
        </event>
        <event name="group_created">
          <extendedInfos>
            <extendedInfo expression="${message.properties.id}" key="id"/>
          </extendedInfos>
        </event>
        <event name="group_deleted">
          <extendedInfos>
            <extendedInfo expression="${message.properties.id}" key="id"/>
          </extendedInfos>
        </event>
        <event name="group_modified">
          <extendedInfos>
            <extendedInfo expression="${message.properties.id}" key="id"/>
          </extendedInfos>
        </event>
        <event name="retentionActiveChanged">
          <extendedInfos>
            <extendedInfo expression="${message.properties.retentionActive}" key="retentionActive"/>
          </extendedInfos>
        </event>
        <event name="blobDigestUpdated">
          <extendedInfos>
            <extendedInfo expression="${message.properties.oldKey}" key="oldKey"/>
            <extendedInfo expression="${message.properties.oldDigest}" key="oldDigest"/>
            <extendedInfo expression="${message.properties.newKey}" key="newKey"/>
            <extendedInfo expression="${message.properties.newDigest}" key="newDigest"/>
          </extendedInfos>
        </event>
      </extension>
  • nuxeo-platform-publisher-2023.8.13.jar /OSGI-INF/publisher-audit-contrib.xml
    <extension point="event" target="org.nuxeo.ecm.platform.audit.service.NXAuditEventsService">
    
        <event name="documentPublished"/>
        <event name="documentUnPublished"/>
        <event name="documentSubmitedForPublication"/>
        <event name="documentPublicationRejected"/>
        <event name="documentPublicationApproved"/>
        <event name="documentWaitingPublication"/>
    
      </extension>
  • nuxeo-platform-relations-web-2023.8.13.jar /OSGI-INF/audit-contrib.xml
    <extension point="event" target="org.nuxeo.ecm.platform.audit.service.NXAuditEventsService">
        <documentation>Log after relation events</documentation>
        <event name="afterRelationCreation"/>
        <event name="afterRelationModification"/>
        <event name="afterRelationRemoval"/>
      </extension>
  • nuxeo-platform-user-registration-core-2023.8.13.jar /OSGI-INF/user-registration-contrib.xml
    <extension point="event" target="org.nuxeo.ecm.platform.audit.service.NXAuditEventsService">
        <event name="registrationSubmitted"/>
        <event name="registrationAccepted"/>
        <event name="registrationValidated"/>
      </extension>
  • nuxeo-retention-2023.3.6.jar /OSGI-INF/retention-audit.xml
    <extension point="event" target="org.nuxeo.ecm.platform.audit.service.NXAuditEventsService">
        <event name="retentionRuleAttached"/>
        <event name="afterSetRetention">
          <extendedInfos>
            <extendedInfo expression="${message.properties.retainUntil}" key="retainUntil"/>
          </extendedInfos>
        </event>
        <event name="afterExtendRetention">
          <extendedInfos>
            <extendedInfo expression="${message.properties.retainUntil}" key="retainUntil"/>
          </extendedInfos>
        </event>
        <event name="afterUnsetRetention"/>
      </extension>
  • nuxeo-routing-core-2023.8.13.jar /OSGI-INF/routing-audit-contrib.xml
    <extension point="event" target="org.nuxeo.ecm.platform.audit.service.NXAuditEventsService">
        <event name="auditLogRoute"/>
        <event name="workflowTaskAssigned">
          <extendedInfos>
            <extendedInfo expression="${message.properties.taskInstance.directive}" key="directive"/>
            <extendedInfo expression="${message.properties.taskInstance.dueDate}" key="dueDate"/>
          </extendedInfos>
        </event>
        <event name="workflowTaskReassigned">
          <extendedInfos>
            <extendedInfo expression="${message.properties.taskInstance.directive}" key="directive"/>
            <extendedInfo expression="${message.properties.taskInstance.dueDate}" key="dueDate"/>
          </extendedInfos>
        </event>
        <event name="workflowTaskCompleted">
          <extendedInfos>
            <extendedInfo expression="${message.properties.taskInstance.directive}" key="directive"/>
            <extendedInfo expression="${message.properties.taskInstance.dueDate}" key="dueDate"/>
          </extendedInfos>
        </event>
        <event name="workflowCanceled"/>
        <event name="workflowTaskDelegated">
          <extendedInfos>
            <extendedInfo expression="${message.properties.taskInstance.directive}" key="directive"/>
            <extendedInfo expression="${message.properties.taskInstance.dueDate}" key="dueDate"/>
          </extendedInfos>
        </event>
        <event name="afterWorkflowStarted">
          <extendedInfos>
            <extendedInfo expression="${message.properties.modelId}" key="modelId"/>
            <extendedInfo expression="${message.properties.modelName}" key="modelName"/>
            <extendedInfo expression="${message.properties.workflowInitiator}" key="workflowInitiator"/>
            <extendedInfo expression="${message.properties.workflowVariables}" key="workflowVariables"/>
          </extendedInfos>
        </event>
        <event name="afterWorkflowFinish">
          <extendedInfos>
            <extendedInfo expression="${message.properties.modelId}" key="modelId"/>
            <extendedInfo expression="${message.properties.modelName}" key="modelName"/>
            <extendedInfo expression="${message.properties.workflowInitiator}" key="workflowInitiator"/>
            <extendedInfo expression="${message.properties.timeSinceWfStarted}" key="timeSinceWfStarted"/>
            <extendedInfo expression="${message.properties.workflowVariables}" key="workflowVariables"/>
          </extendedInfos>
        </event>
        <event name="beforeWorkflowCanceled">
          <extendedInfos>
            <extendedInfo expression="${message.properties.modelId}" key="modelId"/>
            <extendedInfo expression="${message.properties.modelName}" key="modelName"/>
            <extendedInfo expression="${message.properties.workflowInitiator}" key="workflowInitiator"/>
            <extendedInfo expression="${message.properties.pendingNodes}" key="pendingNodes"/>
            <extendedInfo expression="${message.properties.workflowVariables}" key="workflowVariables"/>
          </extendedInfos>
        </event>
        <event name="afterWorkflowTaskCreated">
          <extendedInfos>
            <extendedInfo expression="${message.properties.modelName}" key="modelName"/>
            <extendedInfo expression="${message.properties.modelId}" key="modelId"/>
            <extendedInfo expression="${message.properties.workflowInitiator}" key="workflowInitiator"/>
            <extendedInfo expression="${message.properties.taskName}" key="taskName"/>
            <extendedInfo expression="${message.properties.taskActor}" key="taskActor"/>
            <extendedInfo expression="${message.properties.actors}" key="actors"/>
            <extendedInfo expression="${message.properties.nodeVariables}" key="nodeVariables"/>
            <extendedInfo expression="${message.properties.workflowVariables}" key="workflowVariables"/>
            <extendedInfo expression="${message.properties.timeSinceWfStarted}" key="timeSinceWfStarted"/>
          </extendedInfos>
        </event>
        <event name="afterWorkflowTaskEnded">
          <extendedInfos>
            <extendedInfo expression="${message.properties.modelName}" key="modelName"/>
            <extendedInfo expression="${message.properties.workflowInitiator}" key="workflowInitiator"/>
            <extendedInfo expression="${message.properties.taskName}" key="taskName"/>
            <extendedInfo expression="${message.properties.taskActor}" key="taskActor"/>
            <extendedInfo expression="${message.properties.data}" key="data"/>
            <extendedInfo expression="${message.properties.action}" key="action"/>
            <extendedInfo expression="${message.properties.nodeVariables}" key="nodeVariables"/>
            <extendedInfo expression="${message.properties.workflowVariables}" key="workflowVariables"/>
            <extendedInfo expression="${message.properties.timeSinceTaskStarted}" key="timeSinceTaskStarted"/>
            <extendedInfo expression="${message.properties.timeSinceWfStarted}" key="timeSinceWfStarted"/>
          </extendedInfos>
        </event>
        <event name="afterWorkflowTaskReassigned">
          <extendedInfos>
            <extendedInfo expression="${message.properties.modelName}" key="modelName"/>
            <extendedInfo expression="${message.properties.modelId}" key="modelId"/>
            <extendedInfo expression="${message.properties.workflowInitiator}" key="workflowInitiator"/>
            <extendedInfo expression="${message.properties.taskName}" key="taskName"/>
            <extendedInfo expression="${message.properties.taskActor}" key="taskActor"/>
            <extendedInfo expression="${message.properties.actors}" key="actors"/>
            <extendedInfo expression="${message.properties.comment}" key="comment"/>
            <extendedInfo expression="${message.properties.timeSinceWfStarted}" key="timeSinceWfStarted"/>
            <extendedInfo expression="${message.properties.timeSinceTaskStarted}" key="timeSinceTaskStarted"/>
          </extendedInfos>
        </event>
        <event name="afterWorkflowTaskDelegated">
          <extendedInfos>
            <extendedInfo expression="${message.properties.modelName}" key="modelName"/>
            <extendedInfo expression="${message.properties.modelId}" key="modelId"/>
            <extendedInfo expression="${message.properties.workflowInitiator}" key="workflowInitiator"/>
            <extendedInfo expression="${message.properties.taskName}" key="taskName"/>
            <extendedInfo expression="${message.properties.taskActor}" key="taskActor"/>
            <extendedInfo expression="${message.properties.delegatedActors}" key="delegatedActors"/>
            <extendedInfo expression="${message.properties.comment}" key="comment"/>
            <extendedInfo expression="${message.properties.timeSinceWfStarted}" key="timeSinceWfStarted"/>
            <extendedInfo expression="${message.properties.timeSinceTaskStarted}" key="timeSinceTaskStarted"/>
          </extendedInfos>
        </event>
      </extension>